package com.example.wynn.myapplication;

import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.qiniu.android.http.ResponseInfo;
import com.yuyh.library.imgsel.ImageLoader;
import com.yuyh.library.imgsel.ImgSelActivity;
import com.yuyh.library.imgsel.ImgSelConfig;

import java.util.List;

public class MainActivity extends AppCompatActivity {
    private final String DOMAIN = "demo-0";
    Button upLoadFileBtn;
    TextView upLoadFileUrl;
    ImageView imageView;
    ImgSelConfig config;
    int REQUEST_CODE = 100;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        upLoadFileUrl = (TextView) findViewById(R.id.text);
        upLoadFileBtn = (Button) findViewById(R.id.btn);
        imageView = (ImageView) findViewById(R.id.img);
        // 自由配置选项
        config = new ImgSelConfig.Builder(MainActivity.this, loader)
                // 是否多选, 默认true
                .multiSelect(false)
                // 是否记住上次选中记录, 仅当multiSelect为true的时候配置，默认为true
                .rememberSelected(false)
                // “确定”按钮背景色
                .btnBgColor(Color.GRAY)
                // “确定”按钮文字颜色
                .btnTextColor(Color.BLUE)
                // 使用沉浸式状态栏
                .statusBarColor(Color.parseColor("#3F51B5"))
                // 返回图标ResId
                .backResId(android.support.v7.appcompat.R.drawable.abc_ic_ab_back_material)
                // 标题
                .title("图片")
                // 标题文字颜色
                .titleColor(Color.WHITE)
                // TitleBar背景色
                .titleBgColor(Color.parseColor("#3F51B5"))
                // 裁剪大小。needCrop为true的时候配置
                .cropSize(1, 1, 200, 200)
                .needCrop(true)
                // 第一个是否显示相机，默认true
                .needCamera(false)
                // 最大选择图片数量，默认9
                .maxNum(9)
                .build();



        upLoadFileBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // 跳转到图片选择器
                ImgSelActivity.startActivity(MainActivity.this, config, REQUEST_CODE);


            }
        });
    }
    // 自定义图片加载器
    private ImageLoader loader = new ImageLoader() {
        @Override
        public void displayImage(Context context, String path, ImageView imageView) {
            // TODO 在这边可以自定义图片加载库来加载ImageView，例如Glide、Picasso、ImageLoader等
            Glide.with(context).load(path).into(imageView);
        }
    };

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        // 图片选择结果回调
        if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {
            List<String> pathList = data.getStringArrayListExtra(ImgSelActivity.INTENT_RESULT);
//            for (String path : pathList) {
//                upLoadFileUrl.append(path + "\n");
//            }
            LxQiniuUploadUtils.uploadPic(DOMAIN, pathList.get(0), "test003.jpg", new UploadCallback() {
                @Override
                public void success(String url) {
                    upLoadFileUrl.setText(url);
                    Glide.with(MainActivity.this).load(url).into(imageView);
                }

                @Override
                public void fail(String key, ResponseInfo info) {
                    upLoadFileUrl.setText("fail");
                }
            });
        }
    }

}
